home *** CD-ROM | disk | FTP | other *** search
/ Network Support Library / RoseWare - Network Support Library.iso / btrieve / btr500.exe / BUGS.500 < prev    next >
Text File  |  1992-01-02  |  13KB  |  331 lines

  1. This file contains patch/bug descriptions for the following components:
  2.         Btrieve - Single user, DOS network, OS/2, VAP environments
  3.         Bconsole
  4.         Brequest
  5.         Butil for OS/2
  6. ===============================================================================
  7.  
  8.                         BTRIEVE & BSERVER(VAP) BUGS
  9.  
  10.   0. All versions
  11.  
  12.      This is NOT a bug fix; it simply changes the version number 5.00 to latest
  13.      one in the copyright message.
  14.  
  15.   1. Btrieve Single
  16.  
  17.      A cluster is lost when a record is inserted and then the application is
  18.      aborted without closing the file.
  19.  
  20.   2. Bserver(vap)
  21.  
  22.      This fixes a bug which can appear as status 2 or status 3 under the
  23.      following circumstances:
  24.  
  25.        a. a station has executed a trans. end or trans. abort and as a result
  26.           has released a file lock on a file (say F1)
  27.        b. another station PRIOR to this has closed a file (say F2) which was
  28.           opened earlier than F1
  29.        c. an operation is being done on F1 on any station.
  30.  
  31.   3. Bserver(vap)
  32.  
  33.      If a file which is flagged as TTS transactional is modified then this
  34.      can cause problems like status 3, lock-up on the server, or other strange
  35.      behavior.
  36.  
  37.      This patch is a   MUST   if you use TTS transactional files  !!!!!!!!!
  38.  
  39.   4. Bserver(vap)
  40.  
  41.      On some peculiar hardware (used as server) the "uninitialized" area
  42.      actually is initialized to some special character combination. This
  43.      results status 91 on the workstation.
  44.  
  45.   5. Btrieve/N (DOS 3.1 networks) and Single
  46.  
  47.      This patch is a    MUST  !!!!!!!!!!
  48.  
  49.      Files could be corrupted (usually data) as a result of a corrupted
  50.      pre-image file.
  51.  
  52.      This error can occur in different situation, for example :
  53.  
  54.                 - single user,using less than DOS 3.1 and within a transaction
  55.                   inserting or deleting several records into a file (number
  56.                   depends on pagesize and and record size) result status 3 or 15
  57.  
  58.                 - it less frequent in Network version but it can occur.
  59.  
  60.   6. Btrieve/N (DOS 3.1 networks) and Single
  61.  
  62.      Status 2 is returned on a get_equal with lock after a transaction has
  63.      occurred that does not write to any of the files but touches 18 of them.
  64.  
  65.   7. Btrieve/N (DOS 3.1 networks)
  66.  
  67.      This bug patch is replaced by patch #20 (see below).
  68.  
  69.   8. Bserver (vap)
  70.  
  71.      Same file can be open in accelerated mode or in exclusive mode simul-
  72.      taniously.
  73.  
  74.   9. Btrieve/N (DOS 3.1 networks)
  75.  
  76.      File corruption may occur during certain critical timing intervals. This
  77.      will only happen in a heavily loaded system with a btrieve file with many
  78.      keys. One station does insert, update, or delete of a record taking enough
  79.      time for other stations just reading records to time out (20 or 30 network
  80.      requests) and continues with the read. One of the stations which timed out
  81.      must read the same page the updating station is currently changing. The
  82.      subsequent operation from the timed out station must update this same page
  83.  
  84.      This patch will force the subsequent update to reread the updated page.
  85.  
  86.      (NOTE:
  87.      a. This patch uses SET DIRECTORY operation space,  thus any programs
  88.      which use the function will need to be changed because it will return
  89.      a status 1.
  90.  
  91.      b. This inconvenience was eliminated by a later Patch #15 on 03/09/89.)
  92.  
  93.  10. Btrieve Single
  94.  
  95.      Status 16 is returned when inserting a record which causes the expansion
  96.      of a file. (This bug occurs only if DOS 3.30 or higher used)
  97.  
  98.  11. Btrieve Single and Btrieve/N (DOS 3.1 networks)
  99.  
  100.      Updating a key-field OTHER THAN the current key-path and then executing
  101.      a get next or get previous WITHOUT changing key-path returns status 9.
  102.  
  103.      This patch was modified 3/6/89 to include another case that was not
  104.      previously trapped.
  105.  
  106.  12. Btrieve Single and Btrieve/N (DOS 3.1 networks)
  107.  
  108.      Updating the value of the current key-path to a value which already
  109.      occurs in the file (of course this can be done only in case of duplicate
  110.      key) and then executing a get previous returns status 9.
  111.  
  112.  13. Btrieve Single and Btrieve/N (DOS 3.1 networks)
  113.  
  114.      When inserting a variable length record which has an autoincrement key and
  115.      this key is set to 0 (i.e. using the "auto" feature) then variable part of
  116.      the record is lost (stored but can not be recovered).
  117.  
  118.  14. Btrieve Single and Btrieve/N (DOS 3.1 networks)
  119.  
  120.      Autoincrement key with 4-byte length is not rolling over automatically
  121.      when the lower order 2 bytes contain the max value (FFFFh) and the next
  122.      key is inserted using the "auto" feature (returns status 5 instead).
  123.  
  124.  15. Btrieve/N (DOS 3.1 networks)
  125.  
  126.      Eliminates the inconvenience introduced by Patch #9 and the SET DIRECTORY
  127.      operation is now again available.
  128.  
  129.  16. Btrieve Single and Btrieve/N (DOS 3.1 networks), Bserver (vap)
  130.  
  131.      A GET operation can return an erroneous status 22 reading from a comp-
  132.      ressed file if the previous operation was an INSERT into a file with
  133.      truncation.
  134.  
  135.  17. Bserver (vap)
  136.  
  137.      A GET operation which uses a key value (lt, le, eq, ge, gt) returns a wrong
  138.      status 21 for key-only files.
  139.  
  140.  18. Btrieve Single and Btrieve/N (DOS 3.1 networks), Bserver (vap)
  141.  
  142.      Get version operation returns incorrect value if previously a GET operation
  143.      which uses a key value (lt, le, eq, ge, gt) in case of a key-only file
  144.      with a segmented-key has been executed.
  145.  
  146.  19. Btrieve Single and Btrieve/N (DOS 3.1 networks), Bserver (vap)
  147.  
  148.      Stat operation does not return correctly bit 2 in the file flag which
  149.      shows if the file has had pre-allocated pages.
  150.  
  151.  20. Btrieve/N (DOS 3.1 networks)
  152.  
  153.      Some anomalies occur when using UNLOCK operation:
  154.  
  155.                 - single lock
  156.                         if keynumber = -2 it returns status 0 but lock not
  157.                                              released (should return 81)
  158.                         if keynumber < -2 it return status 0 and releases lock
  159.                                              (it really should not)
  160.                 - multiple locks
  161.                         if keynumber < -2 or > -1
  162.                                           it returns status 0 but no lock is
  163.                                              released (should return 81).
  164.  
  165.  21. Btrieve OS/2
  166.  
  167.      Random errors occur with local variables of applications (Btrieve stack
  168.      switching is not done in time).
  169.  
  170.  22. Bserver (vap)
  171.  
  172.      Same description as at Bug #13.
  173.  
  174.  23. Bserver (vap)
  175.  
  176.      Same description as at Bug #14.
  177.  
  178.  24. Bserver (vap)
  179.  
  180.      If the workstation(s) have a large number of files open (20 or possibly
  181.      less, depending how many pre-image file have been open by Btrieve) and
  182.      one (or more) of the work station(s) access record(s) in transaction(s),
  183.      then Netware's FCONSOLE can show file(s) open even though the work-
  184.      station(s) properly have closed the files (or issued Btrieve RESETs) and
  185.      BCONSOLE does not show the file(s) open. Another side effect of this
  186.      bug could be a STATUS 3 if a file which is shown open on FCONSOLE is re-
  187.      opened and re-accessed in a transaction.
  188.  
  189.  25. Bserver (vap)
  190.  
  191.      The user 's buffer is not updated after an insert containing an autoinc
  192.      field (this is only important if the user specifies 0 value for the
  193.      autoinc field because then he wants to know what value was really set
  194.      into the field by Btrieve).
  195.  
  196.  26. All versions
  197.  
  198.      If a file is larger than 64K then the STEP LAST operation returns either
  199.      not physically the last record (and therefore a following STEP NEXT will
  200.      not return status 9) or returns an erroneous status 9 immediately.
  201.  
  202.  27. Btrieve/N (DOS 3.1 networks)
  203.  
  204.      If multiple records are locked on non-network file(s) and then these
  205.      records are deleted then the locks are not dropped from Btrieve's inter-
  206.      nal table so a lock request can come back with status 81 indicating that
  207.      the lock table is full.
  208.  
  209.  28. Bserver (vap)
  210.  
  211.      This patch eliminates erroneous status 3's caused by files with 24 keys/
  212.      segments.
  213.  
  214.  29. Bserver (vap)
  215.  
  216.      This patch eliminates status 25 on a create or status 12 on an open if
  217.      the server/directory name contains periods.
  218.  
  219.  30. Bserver (vap)
  220.  
  221.      This bug will appear only if someone is using XTRIEVE. (XTRIEVE will
  222.      return an erronious status 43 for some complex restricted BROWSE).
  223.  
  224.  31. Btrieve Single and Btrieve/N (DOS 3.1 networks), Bserver (vap)
  225.  
  226.      Incorrect status (59) returned if a file is created using key number = -1
  227.      (i.e. create only if file does not exist) and the file name provided in
  228.      the key buffer has an invalid path name. (The correct status is 25.)
  229.  
  230.  32. Bserver (vap)
  231.  
  232.      This bug seems to appear only in connection with XTRIEVE. (XTRIEVE will
  233.      parse some directory specifications - e.g. './' incorrectly, and can cause
  234.      a GPI at the server)
  235.  
  236.  33. Btrieve (OS/2)
  237.  
  238.      Errors returned on CREATE/OPEN when many (more than 70) handles have
  239.      been allocated.  CREATE creates the file successfully, but stil returns
  240.      a status of 25.
  241.  
  242.  34. Bserver (vap)
  243.  
  244.      If an UNLOCK operation inside a transaction returns a non-zero status then
  245.      a later CLOSE or RESET operation will close the file(s) successfully as
  246.      far as Btrieve is concerned (i.e. B ACTIVE does not show the file(s) open)
  247.      but the file(s) remains open on Netware level (i.e. FCONSOLE will show the
  248.      file(s) open.
  249.  
  250.  35. Btrieve (OS/2)
  251.  
  252.      Btrieve was allocating the compression/uncompression segments when
  253.      /u: option not given.  This is also an OS/2 bug.  The segments sizes were
  254.      given as zero length to DOSALLOCSEG ().  OS/2 allocated two 64K segments.
  255.  
  256.  
  257. *** (35. is the last patch before 5.0c was cut 11/6/89 dk) ***
  258.  
  259.  
  260.  
  261.  36. Bserver (VAP)
  262.  
  263.         The call to InitRecordTime() in SPXManager()  results in a call to
  264.      GetTimerInterval() which does IN and OUT to port 40h-43h, which is the
  265.      timer chip in ISA ATs.  However, on Prime's proprietary box this is a
  266.      co-processor address and resulted in a system crash.  Since this code
  267.      is a vestige of past performance testing, it is simply removed here by
  268.      setting the first bytes of InitRecordTime() and GetTimerInterval() to
  269.      RET (C3h).
  270.  
  271.  37. Btrieve/N (DOS 3.1 networks)
  272.  
  273.      Btrieve might hang if a other TSR program is using it.
  274.  
  275.  38. Bserver (VAP)
  276.  
  277.      When all workstations are shut down on an ArcNet network, the VAP
  278.      operating system returns an error to all VAPs using the Service
  279.      Advertising Protocol.  This causes Bserver to issue an Error-Log message
  280.      of "Send Failure in Advertiser".   This patch is normally commented-out,
  281.      but may be enabled by users who are using Arcnet or who find their
  282.      error logs clogged up on other networks which really experience network
  283.      errors.
  284.  
  285.   Last update: 03/08/90
  286.  
  287. ===============================================================================
  288.  
  289.                            BTRIEVE BCONSOLE BUGS
  290.  
  291.   1. v5.0
  292.  
  293.      If the number of mapped drives exceeds 20, BCONSOLE will return
  294.      an initialization error.
  295.  
  296.  
  297.   Last update: 10/20/89
  298.  
  299. ===============================================================================
  300.  
  301.                         BTRIEVE REQUESTER BUGS
  302.  
  303.   1. When multiple requesters are running under DesqView on the same machine,
  304.      both would have the same identity, confusing BServer and resulting in
  305.      the "Actual received length does not match SRB length", because all the
  306.      packets got dumped onto the same queue.  This patch uses a dynamically
  307.      assigned socket number to distinguish between clients.
  308.  
  309.      This patch is a MUST for DesqView usage!!!!
  310.  
  311.   2. The requester needed to be patched to support the Insert-Autoincrement
  312.      mode by returning new key value in the data buffer.  Note that no data
  313.      is returned on a normal insert call.  Note: BSERVER needs to be patched
  314.      up to #25.
  315.  
  316.   Last update: 5/24/89
  317.  
  318. ===============================================================================
  319.  
  320.                            BTRIEVE BUTIL BUGS
  321.  
  322.   1. OS\2 Only
  323.  
  324.      Sequential files opened during BSAVE and BRECOVER operations were
  325.      created as READ-ONLY.
  326.  
  327.  
  328.   Last update: 5/04/89
  329.  
  330. ===============================================================================
  331.